package com.monkey.im.protocol;

/**
 * 全局数据包顶层结构抽象
 *
 * @author: yb
 * @date: 2025/4/9 0009 23:16
 */
public interface IPacket {
    /**
     * 获取当前数据包的消息类型
     *
     * @return
     */
    PacketType getPacketType();

    /**
     * 获取当前数据包的消息类型
     * @return
     */
    MsgType getMsgType();

    enum PacketType {
        /**
         * 查询消息，类似HTTP请求响应
         */
        QUERY,
        /**
         * 聊天消息类型，包括单聊，群聊，广播等消息的通讯类型
         */
        MSG;
    }

    enum MsgType {
        /**
         * 单聊消息
         */
        SINGLE_CHAT,
        /**
         * 群聊消息
         */
        GROUP_CHAT,
        /**
         * 广播消息
         */
        BROADCAST;
    }
}
